HashSet添加元素时如何保证不重复
调用 add(Object
方法时,首先会调用 Object 的 hashCode
方法判 hashCode 是否已经存在 HashCode 相同的元素,如不存在则直接插入元素;如果已存在,则调用 Object 对象的 equals 方法判断是否返回true, 如果为 true 则说明元素已经存在,如为false则插入元素。
可以认为HashMap的key是不能重复的,而这里HashSet的元素是作为了map的key,所以也不能重复。
HashSet
Click back to the top
调用 add(Object
方法时,首先会调用 Object 的 hashCode
方法判 hashCode 是否已经存在 HashCode 相同的元素,如不存在则直接插入元素;如果已存在,则调用 Object 对象的 equals 方法判断是否返回true, 如果为 true 则说明元素已经存在,如为false则插入元素。
可以认为HashMap的key是不能重复的,而这里HashSet的元素是作为了map的key,所以也不能重复。